/**
 * Project: cmbank-application
 * 
 * File Created at 2011-11-21
 * $Id$
 * 
 * Copyright 2011 6677bank.com Croporation Limited.
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of
 * 6677bank Company. ("Confidential Information").  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with 6677bank.com.
 */
package com.bank6677.sync.csm.domain;

import java.util.Date;

/**
 * 咨询实体类
 * 
 * @author guobin
 * @version Consultation.java 2011-11-21 下午02:00:46
 */
public class Consultation extends Order {
    private Long    consultationId;     //咨询ID

    private String  customName;         //客户姓名

    private String  customPhone;        //联系电话

    private Integer userId;             //用户ID

    private Integer consultationType;   //咨询类型

    private String  consultationTitle;  //咨询主题

    private String  consultationContent; //咨询类容

    private String  status;             //咨询状态 1处理中，2处理完成，3转至贷款申请通道

    private String  returnVisit;        //回访确认

    private String  customFeedback;     //客户反馈信息

    private String  remark;             //备注

    private Integer operator;           //受理人ID

    private Date    createDt;           //咨询时间

    private Date    updateDt;           //最近处理时间


    /**
     * @return the consultationId
     */
    public Long getConsultationId() {
        return consultationId;
    }

    /**
     * @param consultationId the consultationId to set
     */
    public void setConsultationId(Long consultationId) {
        this.consultationId = consultationId;
    }

    /**
     * @return the customName
     */
    public String getCustomName() {
        return customName;
    }

    /**
     * @param customName the customName to set
     */
    public void setCustomName(String customName) {
        this.customName = customName;
    }

    /**
     * @return the customPhone
     */
    public String getCustomPhone() {
        return customPhone;
    }

    /**
     * @param customPhone the customPhone to set
     */
    public void setCustomPhone(String customPhone) {
        this.customPhone = customPhone;
    }

    /**
     * @return the userId
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * @param userId the userId to set
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * @return the consultationType
     */
    public Integer getConsultationType() {
        return consultationType;
    }

    /**
     * @param consultationType the consultationType to set
     */
    public void setConsultationType(Integer consultationType) {
        this.consultationType = consultationType;
    }

    /**
     * @return the consultationTitle
     */
    public String getConsultationTitle() {
        return consultationTitle;
    }

    /**
     * @param consultationTitle the consultationTitle to set
     */
    public void setConsultationTitle(String consultationTitle) {
        this.consultationTitle = consultationTitle;
    }

    /**
     * @return the consultationContent
     */
    public String getConsultationContent() {
        return consultationContent;
    }

    /**
     * @param consultationContent the consultationContent to set
     */
    public void setConsultationContent(String consultationContent) {
        this.consultationContent = consultationContent;
    }

    /**
     * @return the status
     */
    public String getStatus() {
        return status;
    }

    /**
     * @param status the status to set
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * @return the returnVisit
     */
    public String getReturnVisit() {
        return returnVisit;
    }

    /**
     * @param returnVisit the returnVisit to set
     */
    public void setReturnVisit(String returnVisit) {
        this.returnVisit = returnVisit;
    }

    /**
     * @return the customFeedback
     */
    public String getCustomFeedback() {
        return customFeedback;
    }

    /**
     * @param customFeedback the customFeedback to set
     */
    public void setCustomFeedback(String customFeedback) {
        this.customFeedback = customFeedback;
    }

    /**
     * @return the remark
     */
    public String getRemark() {
        return remark;
    }

    /**
     * @param remark the remark to set
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * @return the operator
     */
    public Integer getOperator() {
        return operator;
    }

    /**
     * @param operator the operator to set
     */
    public void setOperator(Integer operator) {
        this.operator = operator;
    }

    /**
     * @return the createDt
     */
    public Date getCreateDt() {
        return createDt;
    }

    /**
     * @param createDt the createDt to set
     */
    public void setCreateDt(Date createDt) {
        this.createDt = createDt;
    }

    /**
     * @return the updateDt
     */
    public Date getUpdateDt() {
        return updateDt;
    }

    /**
     * @param updateDt the updateDt to set
     */
    public void setUpdateDt(Date updateDt) {
        this.updateDt = updateDt;
    }

    /*
     * (non-Javadoc)
     * @see java.lang.Object#hashCode()
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result
                + ((consultationContent == null) ? 0 : consultationContent.hashCode());
        result = prime * result + ((consultationId == null) ? 0 : consultationId.hashCode());
        result = prime * result + ((consultationTitle == null) ? 0 : consultationTitle.hashCode());
        result = prime * result + ((consultationType == null) ? 0 : consultationType.hashCode());
        result = prime * result + ((createDt == null) ? 0 : createDt.hashCode());
        result = prime * result + ((customFeedback == null) ? 0 : customFeedback.hashCode());
        result = prime * result + ((customName == null) ? 0 : customName.hashCode());
        result = prime * result + ((customPhone == null) ? 0 : customPhone.hashCode());
        result = prime * result + ((operator == null) ? 0 : operator.hashCode());
        result = prime * result + ((remark == null) ? 0 : remark.hashCode());
        result = prime * result + ((returnVisit == null) ? 0 : returnVisit.hashCode());
        result = prime * result + ((status == null) ? 0 : status.hashCode());
        result = prime * result + ((updateDt == null) ? 0 : updateDt.hashCode());
        result = prime * result + ((userId == null) ? 0 : userId.hashCode());
        return result;
    }

    /*
     * (non-Javadoc)
     * @see java.lang.Object#equals(java.lang.Object)
     */
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Consultation other = (Consultation) obj;
        if (consultationContent == null) {
            if (other.consultationContent != null)
                return false;
        } else if (!consultationContent.equals(other.consultationContent))
            return false;
        if (consultationId == null) {
            if (other.consultationId != null)
                return false;
        } else if (!consultationId.equals(other.consultationId))
            return false;
        if (consultationTitle == null) {
            if (other.consultationTitle != null)
                return false;
        } else if (!consultationTitle.equals(other.consultationTitle))
            return false;
        if (consultationType == null) {
            if (other.consultationType != null)
                return false;
        } else if (!consultationType.equals(other.consultationType))
            return false;
        if (createDt == null) {
            if (other.createDt != null)
                return false;
        } else if (!createDt.equals(other.createDt))
            return false;
        if (customFeedback == null) {
            if (other.customFeedback != null)
                return false;
        } else if (!customFeedback.equals(other.customFeedback))
            return false;
        if (customName == null) {
            if (other.customName != null)
                return false;
        } else if (!customName.equals(other.customName))
            return false;
        if (customPhone == null) {
            if (other.customPhone != null)
                return false;
        } else if (!customPhone.equals(other.customPhone))
            return false;
        if (operator == null) {
            if (other.operator != null)
                return false;
        } else if (!operator.equals(other.operator))
            return false;
        if (remark == null) {
            if (other.remark != null)
                return false;
        } else if (!remark.equals(other.remark))
            return false;
        if (returnVisit == null) {
            if (other.returnVisit != null)
                return false;
        } else if (!returnVisit.equals(other.returnVisit))
            return false;
        if (status == null) {
            if (other.status != null)
                return false;
        } else if (!status.equals(other.status))
            return false;
        if (updateDt == null) {
            if (other.updateDt != null)
                return false;
        } else if (!updateDt.equals(other.updateDt))
            return false;
        if (userId == null) {
            if (other.userId != null)
                return false;
        } else if (!userId.equals(other.userId))
            return false;
        return true;
    }

}
